package com.lee.dhsg.service.impl;

import com.lee.dhsg.dao.CourseDao;
import com.lee.dhsg.domain.Category;
import com.lee.dhsg.domain.Course;
import com.lee.dhsg.domain.Teacher;
import com.lee.dhsg.service.CourseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 该服务层接口用于实现课程相关的业务
 * 1、查询推荐课程
 * 2、查询教师发布的课程
 * 3、通过类别查询并返回该类别下的所有课程
 * 4、通过课程名搜索课程
 * 5、通过类别id 查询课程
 * 6、通过课程id 查询课程
 *
 * @author Lee
 */

@Service("courseService")
public class CourseServiceImpl implements CourseService {

    @Autowired
    private CourseDao courseDao;

    /**
     * 1、查询推荐课程
     */
    @Override
    public List<Course> selectByTuijian() {

        Course course = new Course();
        course.setTuijian(1);
        Map<String, Object> params = new HashMap<>();
        params.put("course", course);
        List<Course> courses = courseDao.selectByPage(params);

        return courses;

    }

    /**
     * 2、查询教师发布的课程
     */
    @Override
    public List<Course> selectByT(Teacher teacher) {
        Course course = new Course();
        course.setTeacher(teacher);
        Map<String, Object> params = new HashMap<>();
        params.put("course", course);
        List<Course> courseList = courseDao.selectByPage(params);
        return courseList;
    }

    /**
     * 3、通过类别查询并返回该类别下的所有课程
     */
    @Override
    public List<Course> selectByCategory(Category category){

        // todo...

        return null;
    }

    /**
     * 4、通过课程名搜索课程
     */
    @Override
    public List<Course> selectByName(String courseName){

        return courseDao.selectByName(courseName);

    }

    /**
     * 5、通过类别id 查询课程
     */
    public List<Course> selectByCategoryid(Integer categoryid){
        return courseDao.selectBycategoryid(categoryid);
    }

    /**
     * 6、通过课程id 查询课程
     */
    public Course selectByCourseid(Integer courseid){
        return courseDao.selectById(courseid);
    }

}
